package p.ithorns.tools.translator.annotation;


import java.lang.annotation.*;

/**
 * 转换注解
 * 可标注在字段上、注解上
 *
 * @author ithorns
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
public @interface Translatable {

    /**
     * 指定翻译器
     */
    Class<? extends Translator> translator() default Translator.class;
    /**
     * 来源字段
     * 默认自动推断,推断规则：如注解标注的字段是userName，自动推断结果为“user”，“userId”或“userCode”
     */
    String from() default "";
    /**
     * 默认值
     */
    String defVal() default "";

}
